/**
 * Copyright 2021 bejson.com
 */
package com.atguigu.gulimall.product.vo;

import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * spu信息保存Vo
 */
@Data
public class SpuSaveVo {

    /**
     * 商品名称
     */
    private String spuName;

    /**
     * 商品描述
     */
    private String spuDescription;

    /**
     * 所属分类id
     */
    private Long catalogId;

    /**
     * 品牌id
     */
    private Long brandId;

    /**
     * 重量
     */
    private BigDecimal weight;

    /**
     * 上架状态[0 - 下架，1 - 上架]
     */
    private Integer publishStatus;

    /**
     * spu的描述图片
     */
    private List<String> decript;

    /**
     * spu的图片集
     */
    private List<String> images;

    /**
     * 商品spu积分设置
     */
    private Bounds bounds;

    /**
     * spu的规格参数
     */
    private List<BaseAttrs> baseAttrs;

    /**
     * spu对应的所有sku信息
     */
    private List<Skus> skus;

    @Data
    public static class Bounds {
        /**
         * 购物积分
         */
        private BigDecimal buyBounds;

        /**
         * 成长积分
         */
        private BigDecimal growBounds;
    }

    @Data
    public static class BaseAttrs {
        /**
         * 属性id
         */
        private Long attrId;

        /**
         * 销售属性值
         */
        private String attrValues;

        /**
         * 快速展示【是否展示在介绍上；0-否 1-是】，在sku中仍然可以调整
         */
        private Integer showDesc;
    }

    @Data
    public static class Skus {
        /**
         * sku销售属性&值
         */
        private List<Attr> attr;
        /**
         * sku名称
         */
        private String skuName;
        /**
         * 价格
         */
        private BigDecimal price;
        /**
         * 标题
         */
        private String skuTitle;
        /**
         * 副标题
         */
        private String skuSubtitle;
        /**
         * sku图片信息
         */
        private List<Images> images;
        private List<String> descar;
        /**
         * 满几件
         */
        private Integer fullCount;
        /**
         * 打几折
         */
        private BigDecimal discount;
        /**
         * 是否叠加其他优惠[0-不可叠加，1-可叠加]
         */
        private Integer countStatus;
        /**
         * 满多少
         */
        private BigDecimal fullPrice;
        /**
         * 减多少
         */
        private BigDecimal reducePrice;
        private int priceStatus;
        /**
         * 商品会员价格信息
         */
        private List<MemberPrice> memberPrice;

        @Data
        public static class Attr {
            /**
             * 属性id
             */
            private Long attrId;
            /**
             * 属性名
             */
            private String attrName;
            /**
             * 销售属性值
             */
            private String attrValue;
        }

        @Data
        public static class Images {
            /**
             * 图片地址
             */
            private String imgUrl;
            /**
             * 是否默认图
             */
            private Integer defaultImg;
        }

        @Data
        public static class MemberPrice {
            /**
             * id
             */
            private Long id;
            /**
             * 会员等级名
             */
            private String name;
            /**
             * 会员对应价格
             */
            private BigDecimal price;
        }
    }

}
